package cn.s1995.sloth.bizs.oo.req;

import cn.s1995.sloth.bizs.entity.base.BaseQueryEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * ChartREQ
 *
 * @author Lex
 * @description
 * @date 2024/04/30 10:22
 */
@Data
@Schema(name = "ChartREQ", description = "图表请求")
public class ChartREQ extends BaseQueryEntity {

    /**
     * 类型：1.收益 2.订单 3.订单退款 4.用户增长 5.用户访问
     */
    @Schema(description = "类型：1.收益 2.订单 3.订单退款 4.用户增长 5.用户访问")
    private Integer type;

    @Schema(description = "zz-日期范围，eg: 2022-10-01 12:00:00,2022-10-30 12:00:00")
    private String[] rangeTime;

    /**
     * 单位：hour-小时 day-天
     */
    @Schema(description = "单位：hour-小时 day-天", hidden = true)
    private String unit;

    /**
     * 分组值: 以天分组：%Y-%m-%d 以小时分组：%Y-%m-%d %H
     */
    @Schema(description = "分组值: 以天分组：%Y-%m-%d 以小时分组：%Y-%m-%d %H", hidden = true)
    private String sqlGroup;


    /**
     * sql分组
     */
    public interface SqlGroup {
        // String hour = "%Y-%m-%d %H:00:00";
        String hour = "%Y-%m-%d %H";
        String day = "%Y-%m-%d";
    }

    /**
     * 图表类型
     */
    public interface Type {
        /**
         * 收益
         */
        int income = 1;
        /**
         * 订单
         */
        int order = 2;
        /**
         * 订单退款
         */
        int orderRefund = 3;
        /**
         * 用户增长
         */
        int userGrowth = 4;
        /**
         * 用户访问
         */
        int userVisitor = 5;

    }
}
